package com.soft.javase.day06.regex;

import java.util.Scanner;

/**
 * @author yzg
 * @desc TODO
 * @date 2025/4/24
 */
public class PhoneNumber {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        System.out.println("请输入手机号：");
        String phoneNumber = scanner.nextLine().trim();

        // 验证手机号
        boolean isValid = validatePhoneNumber(phoneNumber);

        if (isValid) {
            System.out.println("手机号格式正确");

            // 检查是否为靓号（最后3位相同）
            if (isSpecialNumber(phoneNumber)) {
                System.out.println("恭喜！这是一个靓号（最后三位数字相同）");
            }else{
                System.out.println("这不是一个靓号");
            }
        } else {
            System.out.println("手机号格式不正确");
        }

    }

    // 验证手机号是否符合基本要求
    public static boolean validatePhoneNumber(String phoneNumber) {
        // 检查是否为11位
        if (phoneNumber.length() != 11) {
            System.out.println("错误：手机号必须是11位");
            return false;
        }

        // 检查是否全部为数字
        for (int i = 0; i < phoneNumber.length(); i++) {
            if (!Character.isDigit(phoneNumber.charAt(i))) {
                System.out.println("错误：手机号必须全部为数字");
                return false;
            }
        }

        return true;
    }

    // 判断是否为靓号（最后3位数字相同）
    public static boolean isSpecialNumber(String phoneNumber) {
        char lastChar = phoneNumber.charAt(phoneNumber.length() - 1);
        char secondLastChar = phoneNumber.charAt(phoneNumber.length() - 2);
        char thirdLastChar = phoneNumber.charAt(phoneNumber.length() - 3);

        return lastChar == secondLastChar && lastChar == thirdLastChar;
    }
}
